package com.xxx.yuedong.course.service;

import com.github.pagehelper.PageInfo;
import com.xxx.yuedong.common.pojo.PageData;
import com.xxx.yuedong.course.controller.form.AddCourseForm;
import com.xxx.yuedong.course.controller.form.UpdateCourseForm;
import com.xxx.yuedong.course.pojo.Course;

import java.util.List;

/**
 * 课程模块业务层接口
 *
 * @Author YinXi
 * @Versin 1.0.0
 * @Date 2023/8/11
 */
public interface CoursesService {
    /**
     * 新增课程
     */
    Course addCourse(AddCourseForm form);
    /**
     * 批量删除课程
     */
    void deleteCourses(Long[] ids);
    /**
     * 更新课程的相关信息
     */
    Course updateCourse(UpdateCourseForm form);
    /**
     * 分页查询获取课程列表
     */
    PageData<Course> list(Integer pageNum);
    /**
     * 分页查询课程列表
     */
    PageData<Course> listPage(Integer pageNum, Integer pageSize);
    /**
     * 根据课程的id获取课程的信息
     */
    Course getCourse(Long id);
    /**
     * 根据课程名称搜索课程
     */
    PageInfo searchListByName(Integer pageNum,Integer pageSize,String name);
    /**
     * 查询所有课程
     */
    List<Course> getListOfCourse();
}
